package com.yanqu.road.entity.activity.jiuzhou.round;

import com.yanqu.road.entity.DataObject;
import com.yanqu.road.entity.DataStatus;
import com.yanqu.road.entity.FieldTypeAnnotation;

import java.math.BigInteger;
import java.util.Map;

/**
 * 九州棋局轮次数据
 */
@FieldTypeAnnotation(tableName = "t_c_jiu_zhou_round_data",desc = "九州棋局轮次数据")
public class CrossJiuZhouRoundData extends DataObject {
    @FieldTypeAnnotation(desc = "活动ID", select = true, update = true)
    private int activityId;
    @FieldTypeAnnotation(desc = "赛场类型,1精英2宗师3王者",select = true, update = true)
    private int zoneType;
    @FieldTypeAnnotation(desc = "当前进行轮次,报名期为0")
    private int curRoundId;
    @FieldTypeAnnotation(desc = "当前轮次状态,0服务器处理数据时间,1备战期,2准备期,3战斗期,4展示期")
    private int curRoundState;
    @FieldTypeAnnotation(desc = "当前轮次类型,未开始0,积分赛1,淘汰赛2")
    private int roundType;
    @FieldTypeAnnotation(desc = "是否已经锁定赚钱,可以报名,1是0否")
    private int isLockAbility;
    @FieldTypeAnnotation(desc = "当前赛场类型锁定入场最小赚钱需求")
    private BigInteger lockAbility;
    @FieldTypeAnnotation(desc = "各个轮次晋级人数,轮次更迭时更新")
    private Map<Integer,Integer> roundPromotionNumMap;
    @FieldTypeAnnotation(desc = "当前服务端处理数据阶段,0未处理,1已锁定未匹配,2已匹配未锁定竞猜,3已锁定竞猜,准备结束")
    private int serverDataState;
    @FieldTypeAnnotation(desc = "冠军id")
    private long championId;




    public int getActivityId() {
        return activityId;
    }
    public void setActivityId(int activityId) {
        if (this.activityId != activityId) {
            this.activityId = activityId;
            setOp(DataStatus.Update);
        }
    }

    public int getZoneType() {
        return zoneType;
    }
    public void setZoneType(int zoneType) {
        if (this.zoneType != zoneType) {
            this.zoneType = zoneType;
            setOp(DataStatus.Update);
        }
    }

    public int getCurRoundId() {
        return curRoundId;
    }
    public void setCurRoundId(int curRoundId) {
        if (this.curRoundId != curRoundId) {
            this.curRoundId = curRoundId;
            setOp(DataStatus.Update);
        }
    }

    public int getCurRoundState() {
        return curRoundState;
    }
    public void setCurRoundState(int curRoundState) {
        if (this.curRoundState != curRoundState) {
            this.curRoundState = curRoundState;
            setOp(DataStatus.Update);
        }
    }

    public int getRoundType() {
        return roundType;
    }
    public void setRoundType(int roundType) {
        if (this.roundType != roundType) {
            this.roundType = roundType;
            setOp(DataStatus.Update);
        }
    }

    public int getIsLockAbility() {
        return isLockAbility;
    }
    public void setIsLockAbility(int isLockAbility) {
        if (this.isLockAbility != isLockAbility) {
            this.isLockAbility = isLockAbility;
            setOp(DataStatus.Update);
        }
    }

    public BigInteger getLockAbility() {
        return lockAbility;
    }
    public void setLockAbility(BigInteger lockAbility) {
        if (lockAbility == null){
            return;
        }
        if (this.lockAbility == null || !this.lockAbility.equals(lockAbility)) {
            this.lockAbility = lockAbility;
            setOp(DataStatus.Update);
        }
    }

    public java.util.Map<java.lang.Integer, java.lang.Integer> getRoundPromotionNumMap() {
        return roundPromotionNumMap;
    }
    public void setRoundPromotionNumMap(java.util.Map<java.lang.Integer, java.lang.Integer> roundPromotionNumMap) {
        if (null == roundPromotionNumMap){
            return;
        }
        if (this.roundPromotionNumMap == null || !this.roundPromotionNumMap.equals(roundPromotionNumMap)) {
            this.roundPromotionNumMap = roundPromotionNumMap;
            setOp(DataStatus.Update);
        }
    }

    public int getServerDataState() {
        return serverDataState;
    }
    public void setServerDataState(int serverDataState) {
        if (this.serverDataState != serverDataState) {
            this.serverDataState = serverDataState;
            setOp(DataStatus.Update);
        }
    }

    public long getChampionId() {
        return championId;
    }
    public void setChampionId(long championId) {
        if (this.championId != championId) {
            this.championId = championId;
            setOp(DataStatus.Update);
        }
    }

}
